# -*- coding: utf-8 -*-
# @Time     : 2023/9/2 19:46
# @Author   : JustFly
# @File     : re_menu.py
# @Software : PyCharm
"""
正则匹配字典
    ：对好友发来的消息进行
      正则匹配
      命中光处理逻辑
"""
import re
# from plugin import send_email
# from plugin import set_db_reply
# from plugin import recharge_money
from plugin import expire_id
# from plugin import sign_fraud_to_db
# from plugin import query_fraud_from_db
# from plugin import transfer_recharge

RE_MENU = {
    # 匹配模式 标题：xxx内容：xxx收件人：xxx
    # r"标题[：:](.*?)内容[：:](.*?)收件人[：:](.*)": send_email.func,
    # 匹配模式 关键词：xxx回复：xxx公有/私有
    # r"关键词[：:](.*?)回复[：:](.*?)(私有|公有)": set_db_reply.func,
    # 匹配模式 充值金额：xxx账号：xxx
    # r"充值金额[：:](.*?)账号[：:](.*?)": recharge_money.func,
    # 匹配模式 房号：xxxABC123xxx
    # r'[A-Z]{3}\d{3}': expire_id.func,
    r'/发布(.*)': expire_id.func,
    # 匹配模式 QQ: xxx备注: xxx
    # r"录入QQ[：:](.*?)备注[：:](.*?)": sign_fraud_to_db.func,
    # 匹配模式 查QQ: xxxx
    # r"查QQ(.*)": query_fraud_from_db.func,
    # 匹配模式 &#91;转账&#93; xxx元已转账成功，请使用手机QQ查看。
    # r"&#91;转账&#93; (.*)元已转账成功，请使用手机QQ查看。": transfer_recharge.func,
}
# 注释与价格
RE_PRICE = {
    # '发邮件': 10.00,
    # '添加关键词': 0.20,
    # '充值': 0.00,
    '房号': 0.00,
    # '录入QQ': 0.00,
    # '查QQ': 0.00,
    # "转账充值": 0.00,
}


def get_re_menu(message):
    """
    遍历 RE_MENU 若找到匹配的模式串
    则返回对应的处理函数
    :param message:
    :return:
    """
    for pattern in RE_MENU.keys():
        if isMatch(message, pattern):
            # 把图片误认为房号
            # if pattern == r'[A-Z]{3}\d{3}' and '[CQ' in message:
            #     return False
            return RE_MENU[pattern]
    return False


def isMatch(message, pattern):
    """
    指令与模式串是否匹配
    :param message: 收到消息
    :param pattern: 正则表达式
    :return:
    """
    # 使用re模块的search函数匹配字符串
    match = re.search(pattern, message)
    return match


def test():
    message = "/发布 想减肥拉屎东方闪电"
    res = get_re_menu(message)
    print(res)


if __name__ == '__main__':
    test()
